/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.service;

import com.comac.ins.common.core.domain.model.LoginUser;
import com.comac.ins.isfd.domain.IsfdDatabaseMongoQuery;
import com.comac.ins.isfd.domain.IsfdMeshModelBdfParseInfo;
import org.bson.Document;

import java.util.List;
import java.util.Set;

/**
 * 自然网格模型结构化service
 *
 * @author lj
 * @date 2025-01-15
 */
public interface IIsfdMeshModelParseService {


    /**
     * 查询数据
     *
     * @return
     */
    List<Document> queryList(IsfdDatabaseMongoQuery queryCondition);


    List<IsfdMeshModelBdfParseInfo> queryParseInfoList(List<String> ids,  Integer status);

    /**
     * 开始结构化之前，存入数据库中，表明结构化开始
     */


    /**
     * 是否已经结构化
     * @param id
     * @return
     */
    boolean checkIfParsed(String id);

    Set<String> checkIfTasksExist(List<String> ids);

    /**
     * 保存结构化的自然网格模型数据
     */
    void parseAndSaveBdf(String id,  LoginUser loginUser);


    void saveBdfParseInfo(List<IsfdMeshModelBdfParseInfo> infoList);


    /**
     * 统计bdf卡片数量
     * @return
     */
    Long countBDFCards();

    void executeParse(List<String> queryIds,  LoginUser loginUser);

    void createImportRecord(IsfdMeshModelBdfParseInfo parseInfo, LoginUser loginUser);


}
